package cn.bytecollege.user.service;

import cn.bytecollege.common.entity.OrderDetail;
import cn.bytecollege.common.entity.OrderList;
import cn.bytecollege.common.entity.Page;
import cn.bytecollege.common.entity.User;
import cn.bytecollege.user.dao.OrdersDetailDao;

import java.util.List;

public class OrderDetailService {
    private OrdersDetailDao ordersDetailDao=null;
    public OrderDetailService (){
        ordersDetailDao=new OrdersDetailDao();
    }
    /***
     * 根据当前商品信息生成订单信息
     */

    public int save(OrderDetail orders) {
        return  ordersDetailDao.save(orders);
    }
    /**
     * 根据用户名查询用户
     */
    public User findUserByUsername(String username){
        return  ordersDetailDao.findByname(username);
    }
    /**
     * 获取总条数
     */
    public int count(int id){
        return ordersDetailDao.count(id);
    }

    /**
     * 分页查询订单详情
     */

    public Page<OrderList> findByPage(int pageIndex, int pageSize, int Id) {
       List<OrderList> list=ordersDetailDao.findByPage(pageIndex,pageSize,Id);
       int count =ordersDetailDao.count(Id);
       Page<OrderList> page=new Page<>();
       page.setCurrentIndex(pageIndex);
       page.setPageSize(pageSize);
       page.setTotal(count);
       page.setList(list);
       page.setTotalPage(count);
        return page;
    }
    /**
     * 修改订单
     */
    public int update(OrderDetail orderDetail) {
        return ordersDetailDao.update(orderDetail);
    }
    /**
     * 根据Id查找订单
     */
    public OrderDetail findById(Integer id) {
        return  ordersDetailDao.findById(id);
    }
    /**
     * 根据Id删除订单
     */

    public int deleteById(Integer id) {
        return ordersDetailDao.deleteById(id);
    }
    /**
     * 根据用户Id查询所有的订单
     */
    public List<OrderList> orderLists(Integer id){
        return ordersDetailDao.orderLists(id);
    }
    /**
     * 查询所有订单详情
     */
    public List<OrderList> findByUserId(Integer Id){
        return ordersDetailDao.findByUserId(Id);
    }
    /**
     * 根据产品Id和购买数量为零的条件查询订单
     */
    public OrderDetail findByProductId(Integer id){
        return ordersDetailDao.findByProductId(id);
    }
}
